/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.flowernet.faces;

import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import br.com.flowernet.entity.Pedido;
import java.util.LinkedList;
import javax.ejb.EJB;
import br.com.flowernet.dao.PedidoDAO;
import br.com.flowernet.entity.Estados;
import br.com.flowernet.entity.StatusPedido;
import java.util.HashMap;
import java.util.Map;

/**
 *
 * @author Diego
 */
@ManagedBean
@SessionScoped
public class PedidoFaces {

    @EJB
    PedidoDAO pedidoDAO;
    List<Pedido> pedidos;
    List<Pedido> pedidosBusca;
    Pedido pedidoSelecionado;
    String data;
    String campo;
    String valor;
    Long idPedido;
    StatusPedido status;

    public PedidoFaces() {
    }

    public Pedido getPedidoSelecionado() {
        return pedidoSelecionado;
    }

    public void setPedidoSelecionado(Pedido pedidoSelecionado) {
        this.pedidoSelecionado = pedidoSelecionado;
    }

    public List<Pedido> getPedidos() {
        pedidos = pedidoDAO.getAllPedido();
        return pedidos;
    }

    public String iniciarAddPedido() {

        pedidoSelecionado = new Pedido();
        return "CadastrarPedido";

    }

    public String finalizarAddPedido() {


        pedidoDAO.addPedido(pedidoSelecionado);
        pedidoSelecionado = null;
        return "ListarPedido";
    }

    public String excluirPedido() {
        pedidoDAO.removePedido(pedidoSelecionado);
        pedidoSelecionado = null;
        return "ListarPedido";
    }

    public String buscaPedido() {

        pedidoSelecionado = pedidoDAO.getPedido(idPedido);
        return "statusPedido";
    }

    public String iniciarEditarPedido() {


        return "EditarPedido";

    }

    public String finalizarEditarPedido() {

        if(status.equals(StatusPedido.Aguardando)){
            
            System.out.println("adsadasdadasda");
        }
        
          if(status.equals(StatusPedido.Aprovado)){
            
            System.out.println("CARAIII");
        }
        
        pedidoSelecionado.setStatus(status);
        pedidoDAO.updatePedido(pedidoSelecionado);
        pedidoSelecionado = null;
        status = null;
        return "index";
    }

      
     public Map getStatusStatus() {
        Map<StatusPedido, String> pedido = new HashMap<StatusPedido, String>();
        for (StatusPedido type : StatusPedido.values()) {
            pedido.put(type, type.name());
        }
        return pedido;
    }

    public StatusPedido getStatus() {
        return status;
    }

    public void setStatus(StatusPedido status) {
        this.status = status;
    }

   
    

//    public List<SelectItem> selectPedido() {
//
//        List<SelectItem> itens = new LinkedList<SelectItem>();
//
//        for (Pedido a : pedidoDAO.getAllPedido()) {
//            SelectItem select = new SelectItem(a, a.getIdPedido());
//
//            itens.add(select);
//        }
//
//        return itens;
//
//
//
//    }
    public Long getIdPedido() {
        return idPedido;
    }

    public void setIdPedido(Long idPedido) {
        this.idPedido = idPedido;
    }
}
